package cn.iocoder.yudao.module.crossborder.crm.api.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 客户信息 DTO
 *
 * @author LHL
 */
@Schema(description = "RPC 服务 - 客户信息 DTO")
@Data
public class CustomerDTO {

    @Schema(description = "客户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Long id;

    @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String name;

    @Schema(description = "客户编码", example = "CUST001")
    private String code;

    @Schema(description = "客户类型", example = "1")
    private Integer type;

    @Schema(description = "客户等级", example = "1")
    private Integer level;

    @Schema(description = "客户状态", example = "1")
    private Integer status;

    @Schema(description = "客户来源", example = "1")
    private Integer source;

    @Schema(description = "公司名称", example = "芋道科技")
    private String companyName;

    @Schema(description = "行业", example = "软件开发")
    private String industry;

    @Schema(description = "联系电话", example = "13800138000")
    private String phone;

    @Schema(description = "邮箱", example = "test@iocoder.cn")
    private String email;

    @Schema(description = "网站", example = "https://www.iocoder.cn")
    private String website;

    @Schema(description = "地址", example = "上海市浦东新区")
    private String address;

    @Schema(description = "国家代码", example = "CN")
    private String countryCode;

    @Schema(description = "省份", example = "上海市")
    private String province;

    @Schema(description = "城市", example = "上海市")
    private String city;

    @Schema(description = "邮编", example = "200000")
    private String zipCode;

    @Schema(description = "年营业额", example = "1000000.00")
    private BigDecimal annualRevenue;

    @Schema(description = "员工数量", example = "100")
    private Integer employeeCount;

    @Schema(description = "负责人编号", example = "1")
    private Long ownerId;

    @Schema(description = "负责人姓名", example = "李四")
    private String ownerName;

    @Schema(description = "备注", example = "重要客户")
    private String remark;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

}
